Condensed program guide for media content access systems and methods

ABSTRACT

An exemplary method includes a computing device providing a program guide that includes a matrix of cells associated with a plurality of media content instances and providing a condensed program guide that includes a condensed matrix of a subset of the cells and a plurality of interstitial symbols. In certain embodiments, each interstitial symbol in the plurality of interstitial symbols represents a single cell included in the matrix of the cells and excluded from the condensed matrix of the subset of the cells. In certain embodiments, the plurality of interstitial symbols does not occupy matrix grid space in the condensed matrix. Corresponding systems and methods are also disclosed.

RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 11/959,980, filed on Dec. 19, 2007, and entitledCONDENSED PROGRAM GUIDE FOR MEDIA CONTENT ACCESS SYSTEMS AND METHODS,which is hereby incorporated by reference in its entirety.

BACKGROUND INFORMATION

The set-top box (“STB”) has become an important computing device foraccessing media content services and the media content within thoseservices. An STB is usually configured to provide users with access to alarge number and variety of media content choices offered by a provider.For example, a user may choose to experience a variety of broadcasttelevision programs, pay-per-view services, video-on-demand programming,Internet services, and audio programming via an STB.

The large number of media content choices offered by providers can makeit difficult for a user of an STB to find and select desired mediacontent. On-screen program guides have alleviated this problem to somedegree. A user of an STB is able to navigate a conventional programguide in search of a desired media channel or program.

As providers have expanded and continue to expand the services and mediacontent choices provided to users (e.g., more media channels),conventional tools for navigating within program guides have becomeinefficient and less effective. For example, it is a time-consuming taskto scroll through a conventional program guide having hundreds ofchannels in search of a particular media channel or program. Moreover,conventional tools for searching or filtering program guide datatypically require users to leave a standard program guide view in orderto provide searching or filtering criteria and/or to view the results ofa search or filter operation. This can be a jarring change for a user,and may discourage the use of search and/or filter tools.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate various embodiments and are a partof the specification. The illustrated embodiments are merely examplesand do not limit the scope of the disclosure. Throughout the drawings,identical reference numbers designate identical or similar elements.

FIG. 1 illustrates an example of a media content access system.

FIG. 2 illustrates an exemplary media content provider network.

FIG. 3 illustrates an exemplary media content processing subsystem.

FIG. 4 illustrates an exemplary remote control user input device.

FIG. 5A illustrates an exemplary program guide having a matrix of cells.

FIG. 5B illustrates an exemplary condensed program guide having a matrixof a subset of the cells included in the program guide of FIG. 5A.

FIG. 6 illustrates an exemplary program guide view presented in agraphical user interface displayed in a viewing area of a display.

FIG. 7 illustrates an exemplary program guide filter tool displayed inthe viewing area of FIG. 6.

FIG. 8 illustrates an exemplary condensed program guide view displayedin the viewing area of FIG. 6.

FIG. 9 illustrates another exemplary condensed program guide viewdisplayed in the viewing area of FIG. 6.

FIG. 10 illustrates the exemplary condensed program guide view of FIG. 9with a selector repositioned at another cell.

FIG. 11 illustrates another program guide filter tool displayed in theviewing area of FIG. 6.

FIG. 12 illustrates yet another exemplary condensed program guide viewdisplayed in the viewing area of FIG. 6.

FIG. 13 illustrates an exemplary method of providing a condensed programguide.

FIG. 14 illustrates another exemplary method of providing a condensedprogram guide.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Exemplary apparatuses, systems, and methods for providing one or morecondensed program guides are disclosed herein. In certain embodiments, amedia content processing subsystem (e.g., a set-top box) may beconfigured to provide a program guide including a matrix of cellsassociated with a plurality of media content instances. The mediacontent processing subsystem may be further configured to provide acondensed program guide including a condensed matrix of a subset of thecells and at least one interstitial symbol representing at least one ofthe cells excluded from the subset, and consequently from the condensedmatrix. In certain embodiments, the media content processing subsystemmay be configured to provide a graphical user interface to a display forpresentation to a user. The graphical user interface may include atleast a portion of the condensed program guide, i.e., a condensedprogram guide view.

The condensed program guide may be a condensed version of a firstprogram guide, e.g., a full program guide including a matrix of cellsfor all available media content instances. Accordingly, a similar userexperience may be provided for views of the first program guide and thecondensed program guide. As an example, the media content processingsubsystem may be configured to receive user input and provide acondensed program guide in response to the user input. For instance, themedia content processing subsystem may receive one or more program guidesearch or filter parameters, or media content recommendation data (e.g.,a list of media content instances recommended by one or more users), andfilter the matrix of cells in the first program guide based on the userinput to identify a subset of the cells. Cells not included in thesubset may be removed from the matrix, and the matrix may be spatiallycondensed to fill in the gaps and form a condensed program guideincluding a condensed matrix of the subset of cells.

One or more interstitial symbols may be included in the condensedprogram guide to represent cells excluded from the condensed matrix. Theinterstitial symbols may indicate matrix positions of the excludedcells. In certain embodiments, the interstitial symbols may includeselectable objects configured to provide users with convenient andintuitive access to information about the excluded cells andcorresponding media content instances.

In certain embodiments, the interstitial symbols are spatiallyinsubstantial in the condensed matrix. That is, the interstitial symbolsmay be positioned between, or at least proximate to, boundary edges ofcells included in the condensed matrix, without occupying matrix gridspace. This may facilitate both condensing of a filtered matrix andnonintrusive representation of cells excluded from the filtered matrix.

Components and functions of exemplary media content access apparatuses,systems, and methods, including providing of condensed program guides,will now be described in more detail.

FIG. 1 illustrates an exemplary media content access system 100 (orsimply “system 100”). As shown in FIG. 1, system 100 may include a mediacontent processing subsystem 110, which may be configured to communicatewith and receive a signal or data stream containing data representativeof media content and/or program guide data from a media content provider111. Media content processing subsystem 110 and media content provider111 may communicate using any known communication technologies, devices,networks, media, and protocols supportive of remote data communications,including, but not limited to, cable networks, subscriber televisionnetworks, satellite networks, the Internet, intranets, local areanetworks, wireless networks (e.g., Wi-Fi and/or mobile telephonenetworks), optical fiber networks, data transmission media,communications devices, Transmission Control Protocol (“TCP”), InternetProtocol (“IP”), File Transfer Protocol (“FTP”), Telnet, HypertextTransfer Protocol (“HTTP”), Real Time Protocol (“RTP”), User DatagramProtocol (“UDP”), Ethernet, and any other suitable communicationsnetworks and technologies.

Media content processing subsystem 110 may be configured to process amedia content stream provided by media content provider 111, includingcausing a media content instance, or one or more components (e.g., videoand/or audio components) of a media content instance, to be presentedfor experiencing (e.g., viewing) by a user. Presentation of the mediacontent instance may include, but is not limited to, displaying, playingback, or otherwise processing the media content instance, or one or morecomponents of the media content instance, such that the media contentinstance may be experienced by the user. For example, media contentprocessing subsystem 110 may provide one or more signals to a display112 (e.g., a television, computer monitor, etc.) so that the display 112may present (e.g., display) media content for experiencing by the user.

Media content processing subsystem 110 may be configured to processprogram guide data provided by media content provider 111, includinggenerating and providing a program guide graphical user interface(“GUI”) for presentation to the user. For example, media contentprocessing subsystem 110 may provide one or more signals to the display112 so that the display 112 may present the program guide GUI to theuser. The program guide GUI may include a view of at least a portion ofa program guide or a condensed program guide to be presented for viewingby a user.

As shown in FIG. 1, and as will be described in more detail below, mediacontent processing subsystem 110 may be at least partially controlled bya user input device 113 (e.g., a remote control device). In certainexamples, user input device 113 may include input mechanisms by which auser can utilize features and/or services provided by media contentprocessing subsystem 110. For example, a user may utilize user inputdevice 113 to navigate a program guide and/or provide input that may beused to search and/or filter the program guide.

While an exemplary media content access system 100 is shown in FIG. 1,the exemplary components illustrated in FIG. 1 are not intended to belimiting. Additional or alternative components and/or implementationsmay be used. Components of system 100 will now be described inadditional detail.

Media content provider 111 may be configured to provide various types ofmedia content and/or program guide data to media content processingsubsystem 110 using any suitable communication technologies, includingany of those disclosed herein. The media content may include one or moremedia content instances, or one or more segments of the media contentinstance(s). The term “media content instance” as used herein refersgenerally to any television program, on demand program, pay-per-viewprogram, broadcast media program, IPTV content, commercial,advertisement, video, movie, song, video game, image, photograph, sound,or any segment, component, or combination of these or other forms ofmedia content that may be viewed or otherwise experienced by a user.

The program guide data may include any information descriptive ofcontent channels, programming time slots, media content instances,metadata for the media content instances, and relationships between thecontent channels, time slots, and media content instances. The term“content channel” will be used herein to refer generally to any carrierof media content, including, but not limited to, media (e.g.,television) channels, streams, addresses, frequencies or other carriersof media content. The term “programming time slot” will be used hereinto refer generally to any period of time associated with a scheduledbroadcast of media content. Typically, the program guide data isdescriptive of a programming schedule, including media content instancesand the time slots and content channels associated with scheduledbroadcasts of the media content instances. Examples of program guidesand program guide views presenting program guide data will be describedin more detail below.

An exemplary media content provider 111 may include a media contentprovider server 221, as shown in FIG. 2. Media content provider server221 may be configured to communicate with media content processingsubsystem 110 via one or more types of networks 220 (and communicationslinks thereto). Network 220 shown in FIG. 2 may include, but is notlimited to, the Internet, an intranet or other private packet-switchednetwork, a wireless network (e.g., a wireless phone network or a Wi-Finetwork), a cable television network (e.g., a hybrid fiber-coaxnetwork), a wireless broadcast network (e.g., a satellite mediabroadcasting network or terrestrial broadcasting network), a subscribertelevision network, a telephone network, a provider-specific network(e.g., a Verizon® FIOS® network and/or a TiVo network), an optical fibernetwork, any other suitable network, and any combination of thesenetworks. In some alternative examples, media content processingsubsystem 110 may be connected directly to media content provider server221.

FIG. 3 illustrates exemplary components of media content processingsubsystem 110 (or simply “processing subsystem 110”). Processingsubsystem 110 may include any hardware, software, and firmware, orcombination or sub-combination thereof, configured to process mediacontent and/or program guide data for presentation to a user. The mediacontent and/or program guide data may be received from media contentprovider 111 and provided to display 112 for presentation to the user.As used herein and in the appended claims, unless otherwise specificallydenoted, the terms “media content processing subsystem” and “processingsubsystem” refer expansively to all possible receivers configured toreceive and process digital and/or analog media content, as well asprogram guide data. Processing subsystem 110 may include, but is notlimited to, a set-top box (“STB”), home communication terminal (“HCT”),digital home communication terminal (“DHCT”), stand-alone personal videorecorder (“PVR”), DVD player, handheld entertainment device, gamingdevice, video-enabled phone (e.g., a mobile phone), and personalcomputer.

In certain embodiments, processing subsystem 110 may include anycomputer hardware and/or instructions (e.g., software), or combinationsof software and hardware, configured to perform the processes describedherein. In particular, it should be understood that processing subsystem110 may be implemented on one physical computing device or may beimplemented on more than one physical computing device. Accordingly,processing subsystem 110 may include any one of a number of computingdevices, and may employ any of a number of computer operating systems,including, but by no means limited to, known versions and/or varietiesof Microsoft Windows, UNIX, Macintosh, and Linux operating systems.

Accordingly, the processes described herein may be implemented at leastin part as instructions executable by one or more computing devices. Ingeneral, a processor (e.g., a microprocessor) receives instructions,e.g., from a memory, a computer-readable medium, etc., and executesthose instructions, thereby performing one or more processes, includingone or more of the processes described herein. Such instructions may bestored and transmitted using any of a variety of known computer-readablemedia.

A computer-readable medium (also referred to as a processor-readablemedium) includes any medium that participates in providing data (e.g.,instructions) that may be read by a computer (e.g., by a processor of acomputer). Such a medium may take many forms, including, but not limitedto, non-volatile media, volatile media, and transmission media.Non-volatile media may include, for example, optical or magnetic disksand other persistent memory. Volatile media may include, for example,dynamic random access memory (“DRAM”), which typically constitutes amain memory. Transmission media may include, for example, coaxialcables, copper wire and fiber optics, including the wires that comprisea system bus coupled to a processor of a computer. Transmission mediamay include or convey acoustic waves, light waves, and electromagneticemissions, such as those generated during radio frequency (“RF”) andinfrared (“IR”) data communications. Common forms of computer-readablemedia include, for example, a floppy disk, flexible disk, hard disk,magnetic tape, any other magnetic medium, a CD-ROM, DVD, any otheroptical medium, punch cards, paper tape, any other physical medium withpatterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any othermemory chip or cartridge, or any other medium from which a computer canread.

While an exemplary processing subsystem 110 is shown in FIG. 3, theexemplary components illustrated in FIG. 3 are not intended to belimiting. Additional or alternative components and/or implementationsmay be used in other embodiments. Components of the processing subsystem110 will now be described in additional detail.

As shown in FIG. 3, processing subsystem 110 may include a communicationinterface 331 configured to receive content (e.g., media content) and/ordata (e.g., program guide data) in any acceptable format from mediacontent provider 111 or from any other suitable content source.Communication interface 331 may include any device, logic, and/or othertechnologies suitable for receiving signals and/or data representativeof media content and/or other types of content or data. Communicationinterface 331 may be configured to interface with any suitablecommunication media, protocols, and formats, including any of thosementioned above.

Processing subsystem 110 may also include a receiver 332 configured toreceive user input signals (e.g., program guide filter commands) fromuser input device 113. User input device 113 may include, for example, aremote control device or any other suitable input device and may beconfigured to communicate with receiver 332 via a wireless link,electrical connection, or any other suitable communication link.

An exemplary remote control user input device 113 is illustrated in FIG.4. In some examples, input device 113 may be configured to enable a userto control viewing options for experiencing media content and/orconsidering program guide data provided by processing subsystem 110. Aprogram guide button 444 may be configured to evoke a presentation of aprogram guide GUI on display 112. A left button 445, right button 446,up button 447, down button 448, and select button 449 may be includedand configured to enable the user to evoke and/or navigate throughvarious views, options, and graphical user interfaces displayed bydisplay 112. For example, buttons 445-449 may be configured to enable auser to utilize tools for navigating to different locations in a programguide, filtering the program guide, or searching for information in theprogram guide. In certain embodiments, a button on input device 113 mayenable a user to toggle between different program guide views, asdescribed below. In some example, us user may utilize input device 113to provide data representative of user-defined media contentrecommendations to the processing subsystem 110. Input device 113 shownin FIG. 4 is merely illustrative of one of the many different types ofuser input devices that may be used to in connection with processingsubsystem.

Returning to FIG. 3, processing subsystem 110 may include an outputdriver 333 configured to interface with or drive display 112. Asinstructed by one or more processors of the processing subsystem 110,output driver 333 may provide output signals to display 112, the outputsignals including content (e.g., media content and/or program guidecontent) to be presented by display 112 for experiencing by a user. Forexample, output driver 333 may provide a program guide GUI including aprogram guide view to display 112 for presentation to the user. Outputdriver 333 may include any combination of hardware, software, and/orfirmware as may serve a particular application.

Storage device 334 may include one or more data storage media, devices,or configurations and may employ any type, form, and combination ofstorage media. For example, storage device 334 may include, but is notlimited to, a hard drive, network drive, flash drive, magnetic disc,optical disc, or other non-volatile storage unit. Media content, programguide data, and other data may be temporarily and/or permanently storedin storage device 334.

Storage device 334 is shown to be a part of the processing subsystem 110in FIG. 3 for illustrative purposes only. It will be understood thatstorage device 334 may additionally or alternatively be located externalto processing subsystem 110.

Processing subsystem 110 may include memory 335. Memory 335 may include,but is not limited to, FLASH memory, random access memory (“RAM”),dynamic RAM (“DRAM”), other suitable computer-readable media, or anycombination or sub-combination thereof. In some examples, variousfacilities (e.g., a program guide facility 342) used by the processingsubsystem 110 may reside in memory 335.

Storage device 334 may include one or more live cache buffers 336. Livecache buffer 336 may additionally or alternatively reside in memory 335or in a storage device external to processing subsystem 110. In someexamples, media content and/or program guide data may be temporarilystored in live cache buffer 336 to facilitate viewing of the mediacontent and/or program guide data.

Tuner 337 may be configured to selectively receive content (e.g., mediacontent) carried on a particular content channel. For example, tuner 337may be tuned to a particular content channel such that the contentcarried on the content channel is received and may be processed byprocessing subsystem 110.

In some examples, processing subsystem 110 may include multiple tuners337 such that content carried on different content channels may beconcurrently received by the processing subsystem 110. For example,processing subsystem 110 may include a first tuner configured to receivecontent carried on an analog video signal and a second tuner configuredto simultaneously receive content carried on a digital compressedsignal.

In some examples, media content received at the tuner 337 is temporarilybuffered, or stored, in the live cache buffer 336. If there are multipletuners 337, there may be a live cache buffer 336 corresponding to eachof the tuners 337.

While tuner 337 may be used to receive various types of content-carryingsignals broadcast by media content provider 111, processing subsystem110 may be configured to receive other types of content signals(including media content signals and/or program guide data signals) frommedia content provider 111 and/or other sources without using a tuner.For example, media content provider 111 may broadcast digital streams ofdata packets (e.g., Internet Protocol (“IP”) based data packets) thatcan be received without using a tuner. For such types of contentsignals, communication interface 331 may receive and forward the signalsdirectly to other components of processing subsystem 110 (e.g.,processor 338 or signal processing unit 339) without the signals goingthrough tuner 337. For an IP-based signal, for example, signalprocessing unit 339 may function as an IP receiver.

Processing subsystem 110 may include at least one processor, such asprocessor 338, configured to control operations of processing subsystem110. Processing subsystem 110 may also include a signal processing unit339 configured to process incoming media content. Signal processing unit339 may be configured, for example, to demodulate and parse encodeddigital media content. In some examples, processing subsystem 110 mayinclude one or more signal processing units 339 corresponding to each ofthe tuners 337. Program guide data received from the media contentprovider 111 may be processed by signal processing unit 339, processor338, and/or any other suitable component(s) of processing subsystem 110.

Processing subsystem 110 may include a graphics engine 340 configured togenerate graphics that can be displayed by the display 112. The graphicsmay include graphical user interfaces such as, but not limited to, oneor more program guide GUIs including various views of program guide data(e.g, program guide views and condensed program guide views), programguide navigation, search, and/or filter tools, navigation palettesincluding program guide navigation tools, selectors for navigating andhighlighting selectable options, visual indicators of interstitialsymbols included in condensed program guides, and other graphics.

One or more facilities (e.g., software applications) residing withinprocessing subsystem 110 may be executed upon initiation by a user ofthe processing subsystem 110, or upon the occurrence of anotherpredetermined event. The facilities may reside in memory 335 or in anyother area of the processing subsystem 110 and be executed by processor338.

As shown in FIG. 3, processing subsystem 110 may include a program guidefacility 342, which may reside in memory 335. Program guide facility 342may be configured to instruct one or more components of processingsubsystem 110 (e.g., processor 338 and/or graphics engine 340) togenerate and provide data representative of a program guide, a condensedprogram guide, and/or a program guide GUI including a view of at least aportion of the program guide or condensed program guide. Processingsubsystem 110 may provide the program guide GUI to display 112 forpresentation to a user. The program guide GUI may include a view of atleast a portion of a program guide, and thus may be used to presentprogram guide views for experiencing by a user. Program guides, programguide GUIs, and/or program guide views may be generated from programguide data stored in processing subsystem 110 (e.g., in storage device334) and/or program guide data received from an external source such asmedia content provider 111.

Program guide facility 342 may be launched or executed by receipt of apredetermined user input signal. For example, when a user selectsprogram guide button 444 of user input device 113 shown in FIG. 4,program guide facility 342 may launch and instruct processor 338 and/orgraphics engine 340 to generate a program guide GUI including datarepresentative of a view of at least a portion of a program guide. Theprogram guide GUI may be provided to output driver 333, which canprovide a signal including data representative of the program guide GUIto display 112 for presentation to the user. As described below, programguide facility 342 may process input signals received from the userinput device 113 and cause the program guide and/or a view of theprogram guide to be updated accordingly. For example, a program guide,which may be referred to as a first program guide, may be modified toform a condensed program guide based on user input, such as user inputrelating to a program guide search or filter operation.

To facilitate an understanding of program guide facility 342, programguides, program guide GUIs, and exemplary program guide views, FIG. 5Athrough FIG. 10 illustrate various respective examples of programguides, condensed program guides, program guide GUIs, and program guideviews that processing subsystem 110 may be configured to provide todisplay 112 for presentation to a user.

FIG. 5A illustrates an exemplary program guide 500 that may be generatedand provided by processing subsystem 110. As shown in FIG. 5A, programguide 500 may include a matrix of cells 510-1 through 510-12(collectively “cells 510”). Cells 510 may be associated with respectivemedia content instances and related metadata and programminginformation. In certain embodiments, for example, any particular cell510 may be associated with a media content instance. For instance, cell510-1 may be associated with a television program titled “DALLAS.”

The cells 510 may be arranged in a program guide matrix based onattributes of the cells and/or the associated media content instances.For example, the cells 510 may be arranged in a matrix based on contentchannels carrying the corresponding media content instances and timeslots representing the time periods during which the media contentinstances are scheduled for broadcast. As shown in FIG. 5A, contentchannels 520-1 through 520-4 (collectively “content channels 520”) maybe arranged along a channel axis 525, and time slots 530-1 through 530-3(collectively “time slots 530”) may be arranged along a time axis 535 toform a matrix grid of cells 510. In the example shown in FIG. 5A, thechannel axis 525 is disposed vertically and the time axis 535 isdisposed horizontally. This is illustrative only. Other dispositions ofaxes may be used in other embodiments.

In program guide 500, any particular cell 510 may be associated with acontent channel and one or more time slots respectively indicative ofthe content channel carrying the corresponding media content instanceand the time period during which the media content instance is scheduledfor broadcast. As an example, the position of cell 510-1 in the programguide matrix represents that the corresponding media content instance(e.g., a television program titled “DALLAS”) is scheduled to bebroadcast on content channel 520-1 during time slot 530-1. Accordingly,the cells 510 may be arranged in the matrix grid based on contentchannels 520 and time slots 530.

In the program guide 500 matrix of FIG. 5A, each of the cells 510 isspatially substantial. That is, each of the cells occupies a grid spacein the matrix. Each matrix grid space is spatially positioned as anintersection area for a particular content channel 520 and time slot530.

Program guide 500 is illustrative only. Typically, a program guide mayinclude numerous cells 510 associated with numerous media contentinstances, content channels 520, and time slots 530. To illustrate, aprogram guide may include program guide data representing scheduledprogramming for hundreds of content channels and for any suitable periodof time, including one day, two weeks, or a month of programming, forexample.

Accordingly, a user may view different portions of a program guide, andonly a portion of a program guide is typically included in any one viewpresented to a user. FIG. 5A illustrates a viewing area 555 representinga particular view of program guide 500 that may be presented to a user.As shown, cells 510-1, 510-2, 510-4, 510-5, 510-7, and 510-8 areincluded in viewing area 555, and cells 510-3, 510-6, 510-9, 510-10,510-11, and 510-12 are outside of the viewing area 555. The particularcells 510 included in the viewing area 555 in FIG. 5A are associatedwith content channels 520-1, 520-2, and 520-3, and with time slots 530-1and 530-2.

The portion of program guide 500 that is included in viewing area 555may be determined based on a position of a program guide selector. FIG.5A illustrates a selector 570 positioned at cell 510-1. The programguide view included in viewing area 555 may be determined based on theposition of the selector 570. Media content processing subsystem 110 maybe configured to move selector 570 to different cells 510 in the programguide 500 based on user input and to modify the program guide viewpresented in the viewing area 555 in response to the selector 570changing positions in the program guide 500. Exemplary program guideGUIs will be described further below.

Media content processing subsystem 110 may be configured to modifyprogram guide 500, or generate different versions of program guide 500,based on user input. For example, media content processing subsystem 110may be configured to provide one or more tools configured to enable auser to search and/or filter the program guide 500. As an example, auser may utilize a filter tool to provide one or more parameters forfiltering program guide 500. For instance, the user may wish to filterprogram guide 500 to include only cells 510 associated with mediacontent instances that are “movies.” Media content processing subsystem110 may be configured to identify the “movie” media content instancesand corresponding cells 510 included in program guide 500. Theidentified cells 510 may be a subset of all of the cells 510 included inprogram guide 500, and “non-movie” cells 510 not included in the subsetmay be filtered out of (i.e., removed from) program guide 500.

Media content processing subsystem 110 may be configured to generate acondensed version of program guide 500 that includes only the identified“movie” cells 510. The identified cells 510 may be condensed to fill ingaps left by the filtered cells, thereby forming a condensed programguide including a condensed matrix of “movie” cells 510.

FIG. 5B illustrates an exemplary condensed program guide 580, which is acondensed version of program guide 500 of FIG. 5A. As shown in FIG. 5B,program guide 580 includes cells 510-1, 510-3, 510-4, 510-5, 510-6,510-10, 510-11, and 510-12. Hence, cells 510-2, 510-7, 510-8, and 510-9of program guide 500 have been excluded from (i.e., filtered out of)condensed program guide 580.

As shown in FIG. 5B, the cells 510 included in condensed program guide580 have been arranged to form a condensed matrix. Certain of the cells510 have been repositioned to fill in spatial gaps left by the excludedcells. For instance, cell 510-3 has been moved adjacent to cell 510-1 tofill in a gap left by removal of cell 510-2, and cells 510-10, 510-11,and 510-12 have been moved adjacent to cells 510-4, 510-5, and 510-6,respectively, to fill in the respective gaps left by removal of cells510-7, 510-8, and 510-9. Accordingly, one or more of the cells 510included in condensed program guide 580 may be repositioned from theirmatrix positions in program guide 500 to form a condensed matrix incondensed program guide 580. For ease of explanation, and to helpdistinguish from cells 510 included in condensed matrices and cellsexcluded from condensed matrices, general references to excluded orremoved cells will not include reference numbers. References to specificcells that have been excluded will include reference numbers.

Cells 510 may be repositioned along the channel axis 525, time axis 535,or both the channel 525 and time 535 axes. In FIG. 5B, cells 510-10,510-1, and 510-12 provide an example of cells 510 being repositionedalong the channel axis 525. In the illustrated example, cells 510-7,510-8, and 510-9 in the row associated with content channel 520-3 havebeen excluded from condensed program guide 580, and cells 510-10,510-11, and 510-12 in the row associated with content channel 520-4 havebeen repositioned (e.g., moved up) along the channel axis 525 to fill inthe gap left by the content channel 520-3 row.

In FIG. 5B, cell 510-3 provides as example of a cell 510 beingrepositioned along a loose time axis 585. Cell 510-3 has beenrepositioned along the loose time axis 585 to fill in a gap left byremoval of cell 510-2. The loose time axis 585 may be configured toaccommodate for unaligned time slots produced by the condensing of cells510. In condensed program guide 580, for example, the cells 510 in aparticular column may not all be associated with the same time slot 530.For instance, the middle column of condensed program guide 580 includescells 510-3, 510-5, and 510-11. While cells 510-5 and 510-11 are bothassociated with the same time slot 530-2 (see FIG. 5A), cell 510-3 isassociated with a different time slot 530-3 (see FIG. 5A). Accordingly,the loose time axis 585 may enable time slots 530 to be associated withparticular cells 510 rather than with columns of cells 510 in thecondensed program guide 580. This allows for cells 510 to beindividually collapsed along the loose time axis 585 to fill in spatialgaps left by excluded cells 510.

Media content processing subsystem 110 may be configured to account forthe loose time axis 585 when providing program guide views forpresentation to a user. For example, a particular view of the condensedprogram guide 580 may display time slot information individually foreach included cell 510. Alternatively or additionally, a view of thecondensed program guide 580 may provide time slot information based on aposition of selector 570. For example, with selector 570 positioned atcell 510-1 in the row associated with content channel 520-1, programmingtime slot information for cells 510-1 and 510-3 in the row may bedisplayed. Accordingly, programming time slot information for time slots530-1 and 530-3 may be displayed in viewing area 555. If the selector570 is moved to cell 510-4 in the row associated with content channel520-2, programming time slot information for cells 510-4 and 510-5 inthe row may be displayed. Accordingly, programming time slot informationfor time slots 530-1 and 530-2 may be displayed in viewing area 555. Anexample of programming time slot information being displayed in aprogram guide GUI based on a position of selector 570 will be describedfurther below in reference to FIGS. 9-10.

Cells 510 may be condensed in accordance with a predefined condensingheuristic, which may guide how cells 510 are repositioned to formcondensed program guide 580. For example, a predefined condensingheuristic may direct that cells 510 be moved in certain directions(e.g., left or right along the time axis 535 and up or down along thechannel axis 525) to fill in gaps left by removed cells. In certainembodiments, the predefined condensing heuristic may direct that cells510 be moved toward selector 570 to fill in spatial gaps. That is, theselector 570 may function as a source of virtual gravity configured topull cells 510 toward the selector 570 to fill in spatial gaps in thematrix of cells 510.

The predefined condensing heuristic may prioritize certain directions ofmovement over others. For example, cells 510 may be repositioned alongthe time axis 535 first to fill in gaps before cells 510 may berepositioned along the channel axis 525 to fill in gaps. Accordingly,the predefined condensing heuristic may be configured to remove contentchannel 520 row and condense the matrix by filling in the gap only whenthere are no cells left in that row. If there are cells 510 left in therow, they may be repositioned along the time axis 535 to fill in thegaps in the row.

In FIG. 5B, viewing area 555 includes another program guide view havingcells 510-1, 510-3, 510-4, 510-5, 510-10, and 510-11 arranged as shown.This view may be referred to as a condensed program guide view inasmuchas it is a view of at least a portion of condensed program guide 580.

As shown in FIG. 5B, condensed program guide 580 may include one or moregraphical interstitial symbols 590-1 through 590-4 (collectively“interstitial symbols 590”), which may represent cells that have beenexcluded from the condensed program guide 580. For example, aninterstitial symbol 590-1 may be included to represent excluded cell510-2.

In some examples, each interstitial symbol 590 may be positioned toindicate a matrix position of a corresponding excluded cell relative toat least one other cell 510 included in the condensed program guide 580.In FIG. 5B, for example, interstitial symbol 590-1 representing excludedcell 510-2 is positioned at least proximate to a boundary (e.g., aboundary edge) between adjacent cells 510-1 and 510-3. Accordingly,interstitial symbol 590-1 may indicate that the matrix position of theexcluded cell 510-2 is between cells 510-1 and 510-3. Similarly, otherinterstitial symbols 590 may be positioned to indicate matrix positionsof the other excluded cells (e.g., cells 510-7, 510-8, and 510-9).

Hence, interstitial symbols 590 may enable a user of media contentprocessing subsystem 110 to conveniently identify cells that have beenexcluded from a condensed program guide 580, as well as matrix positionsfrom which the excluded cells were removed. As shown in FIG. 5B,interstitial symbols 590 may include and/or be in the form of one ormore visual graphics (“visual indicators”) that may be displayed withincondensed program guide 580. While FIG. 5B illustrates a particularvisual indicator used for interstitial symbols 590, this is illustrativeonly. Other embodiments may use other visual indicators for theinterstitial symbols 590.

Interstitial symbols 590 may be spatially insubstantial in condensedprogram guide 580. That is, the interstitial symbols 590 may be includedin (e.g., displayed within) condensed program guide 580 withoutoccupying grid spaces in the condensed matrix. For example, theinterstitial symbols 590 may not be associated with content channels520, time slots 530, or the grid areas at the intersections of contentchannels 520 and time slots 530. Instead, the interstitial symbols 590may be positioned at boundary edges (e.g., as overlays along the edges)of the grid spaces or cells 510. Accordingly, the condensed programguide 580 may include a condensed matrix having indicators of removedcells that do not occupy, or occupy only insubstantial, grid space.

In some embodiments, interstitial symbols 590 may include one or moreselectable objects. Accordingly, a user may be able to navigate to andselect an interstitial symbol 590 in a program guide view. This may beconfigured to enable the user, from a condensed program guide view, toutilize an interstitial symbol 590 to conveniently access informationrelated to a cell that has been excluded from the condensed programguide 580. In certain embodiments, when a user selects a selectableinterstitial symbol 590, a corresponding excluded cell and/orinformation related to the cell may be presented. In some examples, thismay include adding the excluded cell to the condensed matrix of cells510 in the condensed program guide 580. For example, cell 510-3 may bereturned to its previous position and previously excluded cell 510-2 maybe reinserted between cells 510-1 and 510-3. In other examples,presentation of the excluded cell may include launching and presenting apop-up window including information and/or options related to the cell.

Interstitial symbols 590 may be inserted in condensed program guide 580in accordance with a predefined stitching heuristic, which may indicatewhere in the condensed program guide 580 the interstitial symbols 590will be positioned. In certain embodiments, for example, an interstitialsymbol 590 may be generated and positioned at the location of thecorresponding excluded cell. The interstitial symbol 590 may then berepositioned in accordance with the predefined condensing heuristic. Forexample, the interstitial symbol 590 may be moved in a predefineddirection until it reaches an edge of an included cell 510. Theinterstitial symbol 590 may then be positioned proximate to and/or beassociated with that particular edge. As another example, the cells 510in the condensed program guide 580 may be condensed and one or moreinterstitial symbols 590 inserted into the condensed matrix proximate toboundaries of previously adjacent cells 510 included in the condensedmatrix. Other stitching heuristics may be used in other implementations.

FIGS. 6-10 illustrate exemplary views of portions of a program guide andcondensed program guides as they may be presented in viewing area 555.FIG. 6 illustrates an exemplary program guide graphical user interface(“GUI”) 660 that may be displayed in viewing area 555, which may be anarea of a display screen of display 112. Processing subsystem 110 mayprovide a signal carrying data representative of program guide GUI 660to display 112 and for use by display 112 in presenting program guideGUI 660 for consideration by a user.

Program guide GUI 660 may include a view of at least a portion of aprogram guide, such as program guide 500. As shown in FIG. 6, programguide GUI 660 may include a list 664 of content channels 520, a list 668of programming time slots 530, and a matrix of cells associated withmedia content instances and positioned relative to the content channels520 and time slots 530.

Program guide GUI 660 may also include selector 570 configured tographically depict which cell of the program guide matrix is currentlyhighlighted. In FIG. 6, a cell associated with a media content instancetitled “Most Extreme: Killer Cats” is highlighted by selector 570. Whena cell is highlighted by selector 570, additional information associatedwith the cell may be displayed. For example, a synopsis of the “MostExtreme: Killer Cats” media content instance is displayed. Theadditional information may be obtained from metadata associated with themedia content instance.

Selector 570 may be moved from cell to cell in accordance with userinput commands. For example, the user may utilize buttons 445-449 of theuser input device 113 shown in FIG. 4 to move the selector 570 up, down,left, or right, or to select a highlighted cell. When a highlighted cellis selected, the media content instance corresponding with the cell maybe presented to the user. The view shown in program guide GUI 660 may beupdated accordingly as selector 570 is moved about.

The program guide view shown in FIG. 6 may include a portion of a firstprogram guide. In some examples, this program guide may be a “full”program guide including cells for all available media content instances.As shown in FIG. 6, the content channels 520 in list 664 are sequentialin number, and the time slots 530 in list 668 are sequential by timeslot. Accordingly, the program guide view may be referred to as being“full” or “unfiltered.”

A user of media content processing subsystem 110 may wish to considerother program guide views, including filtered and/or condensed views ofthe first program guide. The media content processing subsystem 110 maybe configured to provide one or more tools configured to enable the userto provide input that may be used to generate other views, includingcondensed program guide views. Examples of such tools may include, butare not limited to, filter, search, user profile (e.g., user profilefavorites), and media content recommendation tools. For example, mediacontent processing subsystem 110 may be configured to provide one ormore tools enabling one or more users to provide user input“recommending” or otherwise identifying certain media content instances.Recommendation data may be used to filter a program guide and generateda condensed program guide including a matrix of cells corresponding withrecommended media content instances. The condensed program guide mayinclude recommendations for one or more users or user profiles.Similarly, user input such as search, filter, and/or user profile basedparameters may be used to identify matching media content instances andto generate condensed program guides including matrices of cellscorresponding to the identified media content instances.

FIG. 7 illustrates the program guide GUI 660 of FIG. 6 with an exemplaryprogram guide filter palette 774 displayed therein. Palette 774 may belaunched in response to processing subsystem 110 detecting an occurrenceof a predetermined event. The predetermined event may include receipt ofany suitable predefined user input. For example, when viewing theprogram guide GUI 660 of FIG. 6, a user may actuate a predeterminedbutton on the user input device 113 to cause palette 774 to be launched.As shown, palette 774 may include an overlay covering only a relativelysmall area of the program guide view in the program guide GUI 660.

As shown in FIG. 7, palette 774 may include a program guide filter tool776. Filter tool 776 may enable a user to provide one or more parameters(e.g., keywords, genres, etc.) for filtering program guide data. Incertain embodiments, filter tool 776 may enable the user to spell outkeywords or other filter parameters. In other embodiments, filter tool776 may enable the user to select from a group of predetermined filterparameters. In some examples, content processing subsystem 110 may beconfigured to dynamically filter program guide data based on user inputthat is provided via the filter tool 776. Accordingly, the contentdisplayed in the program guide GUI 660 may be dynamically updated as theuser provides filter parameters.

In the example shown in FIG. 7, a provided filter parameter includes theword “Sports.” Accordingly, cells associated with sports-related mediacontent instances may be identified and the program guide filtered toinclude only the identified cells, which may be a subset of the cellsinitially included in the program guide. Cells associated with mediacontent instances that are not related to sports may be filtered (e.g.,removed) from the program guide to create a filtered program guide. Thefiltering of cells may be performed in any suitable way, includingcomparing user-specified filter parameters with media content metadatato identify cells to be included in the filtered program guide.

The filtered program guide may be condensed in any of the ways describedabove to form a condensed program guide, which may be described as afiltered, condensed version of the first program guide. A view of atleast a portion of the condensed program guide may be provided forpresentation in program guide GUI 660.

FIG. 8 illustrates an exemplary condensed program guide view as may bepresented in viewing area 555. The view shown in FIG. 8 may be providedin response to execution of the filter operation described in relationto FIG. 7. As shown, program guide cells associated with sports mediacontent are included in the view of FIG. 8, and other program guidecells not associated with sports media content are excluded from theview in FIG. 8.

In the illustrated example, each of the excluded cells is part of anentire row that has been excluded. Specifically, content channels 520numbered 10, 12, 13, 14, 15, and 16 in FIG. 6 have been removed in FIG.8. The included cells have been condensed to fill in the gaps left bythe excluded cells. Specifically, content channels 520 numbered 6, 7,105, 106, 110, and 124 have been moved within the program guide viewshown in FIG. 8. Selector 570 has been moved to a cell within contentchannel 520 row having channel number 11. This cell is associated with amedia content instance titled “NFL Football: Philadelphia @ Dallas.”When selector 570 is initially positioned on a cell in the first programguide and the cell is excluded from the condensed program guide, mediacontent processing subsystem 110 may automatically reposition selector570 based on the predefined condensing heuristic. In FIG. 8, selector570 has been moved to a cell determined to be nearest to the previousposition of the selector 570.

As shown in FIG. 8, the condensed program guide view may includeinterstitial symbols 590 representing cells that have been excluded fromthe condensed program guide. In the program guide GUI 660, theinterstitial symbols 590 may provide visual indicators indicating matrixpositions of the excluded cells. The interstitial symbols 590 may bepositioned and configured in any of the ways described above.

The condensed program guide view of FIG. 8 illustrates a program guideview that is the result of a first program guide view having beenfiltered and condensed along a channel axis 525. This is illustrativeonly. In other examples, the first program guide view may be filteredand condensed along a time axis 535, or along both the channel 525 andtime 535 axes, to form a condensed program guide.

FIG. 9 illustrates another exemplary condensed program guide view. Togenerate the view shown in FIG. 9, a particular cell has been filteredfrom the view shown in FIG. 6 and excluded from the view shown in FIG.9. The remaining included cells have been condensed. Specifically, acell associated with a media content instance titled “Sportscenter” hasbeen excluded. Another cell adjacent to the “Sportscenter” cell (butoutside of the view area 555 of FIG. 6) has been repositioned to fill inthe gap left by removal of the “Sportscenter” cell. The repositionedcell is associated with a media content instance titled “NHL Hockey.”The condensed program guide view of FIG. 9 includes an interstitialsymbol 590 representing the excluded “Sportscenter” cell.

As described above, a time axis for a condensed program guide may bedefined loosely. FIG. 9 includes a list 668 of programming time slots530 associated with the content channel 520 row including the cellcurrently highlighted by selector 570. If the selector 570 is moved toanother content channel 520 row, the time slots 530 included in the list668 may be adjusted based on the cells in the newly highlighted row. Forexample, if the selector 570 is moved from the cell associated with themedia content instance titled “Most Extreme: Killer Cats” to the cellassociated with the media content instance titled “NFL Football:Philadelphia @ Dallas” in the program guide view of FIG. 9, the list 668of time slots 530 may be adjusted based on the time slots 530 associatedwith the cells in the content channel 520 row numbered 11. FIG. 10illustrates this example. As shown in FIG. 10, the list 668 of timeslots 530 includes 3:00 pm and 3:30 pm time slots for the “NFL Football:Philadelphia @ Dallas” cell, and a 5:00 pm time slot for the “NHLHockey” cell. A 4:00 pm time slot associated with the excluded“Sportscenter” cell has been omitted from the list 668 of time slots 530in FIG. 10. This loose time axis 585 may support individual condensingof cells along a time axis.

Media content processing subsystem 110 may be configured to provide atleast one tool configured to enable a user to toggle between differentprogram guide views, including unfiltered program guide views andfiltered and condensed program guide views. For example, media contentprocessing subsystem 110 may be configured to toggle between the programguide view in FIG. 6 and the condensed program guide view in FIG. 8 whena user presses a certain button on input device 113. Accordingly, a usercan conveniently switch between a condensed program guide view and anuncondensed program guide view with the press of a button. Other inputsmay be used for toggling in other embodiments.

As another example, media content processing subsystem 110 may beconfigured to provide a pop-up graphical user interface includingselectable options respectively associated with various program guideviews. For example, when the program guide view of FIG. 6 is displayed,a user may provide input (e.g., by pressing a button on the user inputdevice 113), and media content processing subsystem 110 may, in responseto the input, provide pop-up window 1110 for display in program guideGUI 660, as shown in FIG. 11. In the illustrated example, pop-up window1110 includes another program guide filter tool having a list ofselectable options, each of which may be associated with a program guideview. For instance, an “All Channels” option may be associated with anuncondensed program guide view, a “Movies” option may be associated witha condensed program guide view including cells associated with moviecontent, a “Sports” option may be associated with another condensedprogram guide view including cells associated with sports content, and a“News” option may be associated with another condensed program guideview including cells associated with news media content. Accordingly, auser may switch between various unfiltered, uncondensed program guideviews and various filtered, condensed program guide views. In certainembodiments, this may be accomplished by a user moving a selector object1120 from option to option and selecting a highlighted option.

As shown in FIG. 11, pop-up window 1110 may further include optionsassociated with user profile views. For instance, a “Dad's Favorites”option may be associated with a filtered, condensed program guide viewdisplaying cells associated with media content instances and/or contentchannels 520 that have been identified and associated with a particularuser profile titled “Dad.” When this option is selected, a correspondingcondensed program guide view including pre-identified media contentinstances (e.g., favorite programs) and/or content channels 520 (e.g.,favorite channels) may be displayed. A “Mom's Favorites” option may beassociated with another filtered, condensed program guide includingmedia content instances and/or content channels 520 associated withanother user profile titled “Mom.” A “Kids' Favorites” option may beassociated with another filtered, condensed program guide includingmedia content instances and/or content channels 520 associated with oneor more other user profiles.

Accordingly, parameters for filtering a program guide to generate afiltered, condensed program guide may be based on user profiles,including media content instances and/or content channels 520 that havebeen associated with the user profiles. A filtered, condensed programguide may include media content instances and/or content channels 520associated with a single user profile or a combination of multiple userprofiles. Accordingly, media content instances and/or content channels520 associated with multiple user profiles may be combined into acondensed program guide view. Information included in the condensedprogram guide view may be identified by user profile. For instance,various colors may be used to respectively identify information by userprofile. Other distinguishing features may be used in other embodiments.

As mentioned above, the exemplary interstitial symbols described hereinare illustrative only. Any suitable graphics may be used in a condensedprogram guide to represent one or more cells that have been excludedfrom condensed program guides.

Interstitial symbols may be configured to provide information aboutexcluded cells. For example, interstitial symbols may visually indicatespatial positions of excluded cells, as described above. As anotherexample, interstitial symbols may be configured to visually indicate thenumber of cells that have been excluded. To illustrate, FIG. 12illustrates an exemplary condensed program guide view as may bepresented in program guide GUI 660. As shown in FIG. 12, the programguide view includes interstitial symbols 590-5 through 590-10representing cells that have been filtered and excluded from the programguide view. Interstitial symbol 590-5 may be configured to represent asingle excluded cell. Interstitial symbols 590-6 and 590-7 may beconfigured to respectively represent two cells that have been excludedfrom the program guide view. Interstitial symbols 590-8, 590-9, and590-10 may be configured to respectively represent three cells that havebeen excluded from the program guide view.

When adjacent cells are removed from a program guide to generate afiltered, condensed program guide, in certain embodiments interstitialsymbols 590 may be arranged to indicate that adjacent cells have beenexcluded. For example, interstitial symbols 590-6 and 590-7 may bestacked as shown in FIG. 12 to indicate that two adjacent cells havebeen excluded from the program guide view. Similarly, interstitialsymbols 590-8, 590-9, and 590-10 may be stacked as shown in FIG. 12 toindicate that three adjacent cells have been excluded from the programguide view. Stacked interstitial symbols 590 may include distinguishingattributes such as distinct colors or shading. In the exampleillustrated in FIG. 12, the stacked interstitial symbols 590 compriseslanted (e.g., diagonal) bars positioned adjacent to one another.

The stacking of interstitial symbols 590 to represent multiple adjacentcells that have been excluded is illustrative only. Other visualindications may be used in other embodiments. For example, aninterstitial symbol may display a number or other symbol indicative of anumber of adjacent cells that have been excluded. As another example, aninterstitial symbol may display an ellipses indicating that multipleadjacent cells have been excluded.

FIG. 13 illustrates an exemplary method of providing a condensed programguide. While FIG. 13 illustrates exemplary steps according to oneembodiment, other embodiments may omit, add to, reorder, and/or modifyany of the steps shown in FIG. 13.

In step 1310, a program guide is provided. The program guide includes amatrix of cells associated with a plurality of media content instances.Step 1310 may be performed in any of the ways described above, includingmedia content processing subsystem 110 generating and providing theprogram guide based on program guide data.

In step 1320, a condensed program guide is provided. The condensedprogram guide includes a condensed matrix of a subset of the cells inthe program guide and at least one interstitial symbol representing atleast one of the cells excluded from the condensed matrix. Step 1320 maybe performed in any of the ways described above, including media contentprocessing subsystem 110 filtering the program guide, condensing thesubset of cells in the filtered program guide, and inserting theinterstitial symbol. In certain embodiments, step 1320 may be performedin accordance with steps 1420-1460 of FIG. 14, which steps are describedbelow.

In step 1330, a graphical user interface is provided to a display forpresentation to a user. The graphical user interface includes at least aportion of the condensed program guide. Step 1330 may be performed inany of the ways described above, including media content processingsubsystem 110 providing data representative of the graphical userinterface to display 112.

FIG. 14 illustrates another exemplary method of providing a condensedprogram guide. While FIG. 14 illustrates exemplary steps according toone embodiment, other embodiments may omit, add to, reorder, and/ormodify any of the steps shown in FIG. 14.

In step 1410, a program guide GUI is provided to a display forpresentation to a user. The program guide GUI includes at least aportion of a program guide having a matrix of cells associated with aplurality of media content instances. Step 1410 may be performed in anyof the ways described above, including media content processingsubsystem 110 providing data representative of the program guide GUI todisplay 112.

In step 1420, user input is received. Step 1420 may be performed in anyof the ways described above, including media content processingsubsystem 110 receiving data representative of user input from inputdevice 113.

In step 1430, a subset of the cells in the matrix is identified based onthe user input. Step 1430 may be performed in any of the ways describedabove, including media content processing subsystem 110 comparing theuser input to metadata associated with the media content instancesassociated with the cells.

In step 1440, at least one of the cells not included in the identifiedsubset of cells is removed from the matrix. Step 1440 may be performedin any of the ways described above, including media content processingsubsystem 110 removing the excluded cells from the program guide matrix.

In step 1450, the matrix is condensed to form a condensed matrix. Step1450 may be performed in any of the ways described above, includingmedia content processing subsystem 110 repositioning cells included inthe identified subset to fill in gaps left by the removed cells inaccordance with a predefined condensing heuristic.

In step 1460, at least one interstitial symbol is inserted in thecondensed matrix. Step 1460 may be performed in any of the waysdescribed above, including media content processing subsystem 110inserting the interstitial symbol at a position to indicate a matrixposition of a removed cell.

In step 1470, a condensed program guide view of at least a portion ofthe condensed matrix is provided in the program guide GUI forpresentation to the user. Step 1470 may be performed in any of the waysdescribed above, including media content processing subsystem 110providing data representative of the program guide GUI including thecondensed matrix to display 112.

The preceding description has been presented only to illustrate anddescribe exemplary embodiments with reference to the accompanyingdrawings. It will, however, be evident that various modifications andchanges may be made thereto, and additional embodiments may beimplemented, without departing from the scope of the invention as setforth in the claims that follow. The above description and accompanyingdrawings are accordingly to be regarded in an illustrative rather than arestrictive sense.

What is claimed is:
 1. A method comprising: providing, by a computingdevice, a program guide that includes a matrix of cells associated witha plurality of media content instances; and providing, by the computingdevice, a condensed program guide that includes a condensed matrix of asubset of the cells and a plurality of interstitial symbols, eachinterstitial symbol in the plurality of interstitial symbolsrepresenting a single cell included in the matrix of the cells andexcluded from the condensed matrix of the subset of the cells.
 2. Themethod of claim 1, wherein each interstitial symbol in the plurality ofinterstitial symbols indicates a matrix position of the single cellrepresented by the interstitial symbol.
 3. The method of claim 1,wherein each interstitial symbol in the plurality of interstitialsymbols comprises a spatially insubstantial indicator of a matrixposition of the single cell represented by the interstitial symbol. 4.The method of claim 1, wherein the plurality of interstitial symbols donot occupy matrix grid space in the condensed matrix.
 5. The method ofclaim 1, further comprising: providing, by the computing device, a firstprogram guide view of the program guide for display; and providing, bythe computing device, a second program guide view of the condensedprogram guide for display.
 6. The method of claim 5, further comprising:receiving, by the computing device, user input; and toggling, by thecomputing device in response to the user input, between providing thefirst program guide view and the second program guide view.
 7. Themethod of claim 1, further comprising: receiving, by the computingdevice, user input; identifying, by the computing device, the subset ofthe cells based on the user input; removing, by the computing device,each of the cells not included in the identified subset of the cellsfrom the matrix of cells; spatially condensing, by the computing device,the subset of the cells to form the condensed matrix; and inserting, bythe computing device, the plurality of interstitial symbols in thecondensed matrix.
 8. The method of claim 1, further comprising:removing, by the computing device from the matrix of cells, each of thecells excluded from the subset of the cells; and repositioning, by thecomputing device, at least one cell included in the subset of the cellsalong a loose time axis to fill in at least one gap in the matrix of thecells created by the removing.
 9. The method of claim 1, wherein thecells included in the matrix are positioned relative to a time axis, andthe subset of the cells included in the condensed matrix are positionedrelative to a loose time axis.
 10. The method of claim 9, wherein theloose time axis accommodates unaligned time slots within the condensedprogram guide.
 11. The method of claim 9, wherein the condensed matrixincludes a column of cells within the subset of the cells, the column ofcells associated with different time slots.
 12. The method of claim 1,further comprising: detecting, by the computing device, a user selectionof an interstitial symbol included in the plurality of interstitialsymbols included in the condensed program guide; and removing, by thecomputing device in response to the user selection, the selectedinterstitial symbol from the condensed matrix; and adding, by thecomputing device to the condensed matrix in response to the userselection, the single cell corresponding to the selected interstitialsymbol to the condensed program guide.
 13. The method of claim 1,tangibly embodied as computer-executable instructions on at least onenon-transitory computer-readable medium.
 14. A method comprising:providing, by a computing device, a program guide that includes a matrixof cells associated with a plurality of media content instances; andproviding, by the computing device, a condensed program guide thatincludes a condensed matrix of a subset of the cells and a plurality ofinterstitial symbols representing a remainder of the cells excluded fromthe condensed matrix; wherein the plurality of interstitial symbols donot occupy matrix grid space in the condensed matrix.
 15. The method ofclaim 14, wherein each interstitial symbol in the plurality ofinterstitial symbols indicates a matrix position of a single cellincluded in the remainder of the cells excluded from the condensedmatrix.
 16. The method of claim 14, wherein each interstitial symbol inthe plurality of interstitial symbols represents only a single cellexcluded from the subset of the cells.
 17. A method comprising:providing, by a computing device, a program guide view that includes amatrix of cells associated with a plurality of media content instances;receiving, by the computing device, user input; identifying, by thecomputing device, a subset of the cells based on the user input;removing, by the computing device from the matrix, a remainder of thecells not included in the identified subset of the cells; condensing, bythe computing device, the matrix to form a condensed matrix of theidentified subset of the cells, the remainder of the cells not includedin the identified subset of the cells being excluded from the condensedmatrix; inserting, by the computing device in the condensed matrix, aplurality of interstitial symbols representing the remainder of thecells excluded from the condensed matrix; and providing, by a computingdevice, a condensed program guide view that includes the condensedmatrix.
 18. The method of claim 17, wherein each interstitial symbol inthe plurality of interstitial symbols represents only a single cellexcluded from the subset of the cells.
 19. The method of claim 17,wherein the plurality of interstitial symbols do not occupy matrix gridspace in the condensed matrix.
 20. A system comprising: at least oneprocessor; and a program guide facility configured to direct the atleast one processor to provide a program guide that includes a matrix ofcells associated with a plurality of media content instances, andprovide a condensed program guide that includes a condensed matrix of asubset of the cells and a plurality of interstitial symbols, eachinterstitial symbol in the plurality of interstitial symbolsrepresenting a single cell included in the matrix of the cells andexcluded from the condensed matrix of the subset of the cells.
 21. Thesystem of claim 20, wherein each interstitial symbol in the plurality ofinterstitial symbols comprises a spatially insubstantial indicator of amatrix position of the single cell represented by the interstitialsymbol.
 22. The system of claim 20, wherein the plurality ofinterstitial symbols do not occupy matrix grid space in the condensedmatrix.
 23. The system of claim 20, wherein: the cells included in thematrix are positioned relative to a time axis; the subset of the cellsincluded in the condensed matrix are positioned relative to a loose timeaxis; and the loose time axis accommodates unaligned time slots withinthe condensed program guide.